Hej alle,
jeg sidder med et problem ang. min javascript validering. Hver gang jeg trykker send på min form, spytter den:
"[object HTMLInputElement]"
- ud istedet for min værdi.
Det mærkelige er, at den gerne vil fortælle mig at min email er ugyldig.
Min form ser således ud:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>Formen</title>
- <script src="sample.js"></script>
- </head>
- <body>
- <h1>Udfyld venligst nedenstående kontaktformular</h1>
-
- <form name="formen" action="#" method="POST" id="formen">
-
- <br><label for="fornavn">*Fornavn</label>
- <input type="text" name="fornavn" id="fornavn"/><br>
-
- <br><label for="efternavn">*Efternavn</label>
- <input type="text" name="efternavn" id="efternavn"/><br>
-
- <br><label for="job">Jobtitel</label>
- <input type="text" name="job" id="job"/><br>
-
- <br><label for="firma">Firma/organisation</label>
- <input type="text" name="firma" id="firma"/><br>
-
- <br><label for="adresse">*Adresse</label>
- <input type="text" name="adresse" id="adresse"/><br>
-
- <br><label for="by">*By</label>
- <input type="text" name="by" id="by"/><br>
-
- <br><label for="tlf">Telefon</label>
- <input type="text" name="telefon" id="telefon"/><br>
-
- <br><label for="email">*Email</label>
- <input type="text" name="email" id="email"/><br>
-
- <br><label for="newsletter">Ja tak, jeg vil gerne modtage KOMPANs nyhedsbrev.</label>
- <input type ="checkbox" name="nyhedsbrev" id="nyhedsbrev"><br>
-
- <br><input type="submit" id="btn" name="btn" value="Send" />
-
- <p id="errormessage"></p>
- </form>
- </body>
- </html>
Her er mit script hvis det har nogen interesse:
- window.onload = function () {
- //alert
- //alert("check");
-
- //Regular expressions
- var reg_numbers = /^[0-9]+$/;
- var reg_letters = /^[A-Z®¯a-z¾¿?]{2,30}$/;
- var reg_email = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/;
-
- //Fields
- var fornavn = document.getElementById('fornavn');
- var efternavn = document.getElementById('efternavn');
- var adresse = document.getElementById('adresse');
- var by = document.getElementById('by');
- var email = document.getElementById('email');
- var formen = document.getElementById('formen');
- var errormessage = document.getElementById('errormessage');
-
-
- //Eventhandlers
-
- formen.onsubmit = function(){
- error="";
- //alert('fejl');
- //return false;
- //Return false stopper hyperlinket i at forts¾tte efter du har k¿rt din javascript fil, dvs. der sker ikke noget synligt.
- var result1 = checkLength(fornavn, efternavn, adresse, by, email, reg_letters, "Det indtastede er for kort", 2);
- var result2 = checkLiterals(fornavn, efternavn, adresse, by, reg_letters, "Må kun indeholde bogstaver");
- var result3 = checkMail(email, reg_email, "Emailen er ikke gyldig");
-
- errormessage.innerHTML = error;
- errormessage.style.color = "blue";
- if(result1 && result2 && result3){
- return true;
- } else {
- return false;
- }
- };
-
- //Functions
- checkLength = function (element, msg, minlength){
- var text = element.value;
- if (text.length < minlength) {
- error = error + msg + "<br>";
- element.style.color = "red";
- return false;
- }
- return true;
- };
-
- checkLiterals = function (element, pattern, msg) {
- if (!element.value.match(pattern)) {
- error = error + msg + "<br>";
- element.style.color = "red";
- return false;
- }
- return true;
- };
-
- checkPhone = function(element, pattern, msg) {
- if (!element.value.match(pattern)) {
- error = error + msg + "<br>";
- element.style.color = "red";
- return false;
- }
- return true;
- };
-
- checkMail = function(element, pattern, msg) {
- if (!element.value.match(pattern)) {
- error = error + msg + "<br>";
- element.style.color = "red";
- return false;
- }
- return true;
- };
-
- isTooShort = function (element, msg, minlength){
- var text = element.value;
- if (text.length < minlength) {
- error = error + msg + "<br>";
- element.style.color = "red";
- return false;
- }
- return true;
- };
-
- };
Indlæg senest redigeret d. 29.05.2014 13:12 af Bruger #20935